1. Field of the Invention
The present invention is directed to controlling access to an object shared amongst a plurality of processes in a distributed system, so that the shared object is accessed by one and only one process at a time.
2. Discussion of the Related Art
In a distributed connection-oriented switched network, a plurality of distributed processes are employed to provide command, control and connectivity in the network; see, for example, the Virtual Network Services (VNS) described in co-pending and commonly owned U.S. Ser. No. 08/622,866 filed Mar. 29, 1996, by S. Thebaut et al. (Docket C0441/7072)which issued as U.S. Pat. No. 5,889.953 on Mar. 30, 1999, hereby incorporated by reference in its entirety. Due to constant inter-process interaction, some method is required to coordinate the functions of these processes and the objects they share. One such method is to coordinate the instantiation of the shared objects; see, for example, the Replicated Resource Management (RRM) tools described in co-pending and commonly owned U.S. Ser. No. 08/585,054 filed Jan. 11, 1996, by J. Jeffords et al. (Docket C0441/7029), hereby incorporated by reference in its entirety. In applications utilizing RRM, objects can be created or destroyed at any time and are replicated across the processes at the time of creation.
Methods are also, however, needed to manage the lifecycles of these replicated objects, e.g., coordinating access to the object and/or determining when an object is no longer needed and may be destroyed. In co-pending and commonly-owned U.S. patent application, Ser. No. unknown, filed concurrently herewith by Jeffords et al., entitled "Method and Apparatus For Coordinated Management Of a Shared Object (Docket C0441/7086) hereby incorporated by reference in its entirety, a method and apparatus are described for management and coordination of a shared object amongst a plurality of processes in a distributed system. In this system, an object has one and only one owner process which is responsible for the creation and, therefore, the destruction of the object. When the owner process determines that none of the processes at a given time are interested in the shared object, the owner process will set the shared object as a candidate for being destroyed. Prior to destruction, however, the owner process will still confirm with each other process that it is acceptable to destroy the object. When it is thus confirmed that no processes are interested in an object, then the object will be destroyed.
Another method for management and coordination of a shared object in a distributed system is described in co-pending and commonly-owned U.S. patent application, Ser. No. 08/681,040, filed Jul. 22, 1996 by Jeffords et al. entitled "Method For Synchronizing Processes In a Distributed System" (Docket C0441/7071), herein incorporated by reference in its entirety. In this system, a lock token is associated with a given shared object. This lock token is transmitted around the distributed system and captured by a process when it desires control of the associated shared object. Only when a process has possession of the token can it access the object. When a process is finished with the token, it transmits the token to a next process requiring access. Conflicts are resolved when more than one process seeks to capture the token at the same time and token loss is prevented if a process fails or is removed while possessing the token.
Thus, in a distributed system where ownership of an object is shared amongst a plurality of processes, a solution is necessary for coordinating the processes in the distributed system.